package com.redstars.generate.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.redstars.generate.entity.SysTable;
import com.redstars.generate.page.PageResult;
import com.redstars.generate.vo.SysTableVo;
import com.redstars.generate.query.SysTableQuery;
import java.util.List;

/**
 * 代码生成表
 *
 * @author zhouhx 
 * @since 1.0.0 2022-10-05
 */
public interface SysTableService extends IService<SysTable> {
    /**
    *
    * @description 分页查询
    * @author zhouhx 
    * @since 1.0.0 2022-10-05
    */
    PageResult<SysTableVo> page(SysTableQuery query);
    /**
    *
    * @description 新增
    * @author zhouhx 
    * @since 1.0.0 2022-10-05
    */
    void save(SysTableVo vo);
    /**
    *
    * @description 修改
    * @author zhouhx 
    * @since 1.0.0 2022-10-05
    */
    void update(SysTableVo vo);
    /**
    *
    * @description 删除
    * @author zhouhx 
    * @since 1.0.0 2022-10-05
    */
    void delete(List<Long> idList);
    /**
    *
    * @description 详情
    * @author zhouhx 
    * @since 1.0.0 2022-10-05
    */
    SysTableVo detail(Long id);

    /**
     *
     * @description 同步数据库表
     * @author zhouhx
     * @since 1.0.0 2022-10-05
     */
    void sync(Long id);

    /**
     *
     * @description 导入表
     * @author zhouhx
     * @since 1.0.0 2022-10-05
     */
    void tableImport(Long datasourceId, List<String> tableNameList);

    /**
     *
     * @description 获取表名
     * @author zhouhx
     * @since 1.0.0 2022-10-05
     */
    SysTableVo getByTableName(String tableName);

    /* *
     *
     * @author zhuohx
     * @description 列表查询
     * @parms  [query]
     * @return java.util.List<com.redstars.generate.vo.SysTableVo>
     * @throws
     * @date 2022/11/8 14:26
     */
    List<SysTableVo> list(SysTableQuery query);

}